package changeEmployeeTransaction.changeAffiliationTransaction;

import addEmployeeTransaction.Employee;
import changeEmployeeTransaction.ChangeEmployeeTransaction;
import database.PayrollDatabase;
import affiliation.Affiliation;

public abstract class ChangeAffiliationTransaction extends
		ChangeEmployeeTransaction {
	public ChangeAffiliationTransaction(int empId, PayrollDatabase database) {
		super(empId, database);
	}

	protected void change(Employee e) {
		RecordMembership(e);
		e.setAffiliation(getAffiliation());
	}

	protected abstract Affiliation getAffiliation();

	protected abstract void RecordMembership(Employee e);
}